package hbase.api;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.AsyncConnection;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import java.io.IOException;
import java.util.concurrent.CompletableFuture;

/**
 * @author OnCloud9
 * @description
 * @project QQ-Robot
 * @date 2022年06月29日 21:04
 */
public class Api01SingleThreadConnection {
    public static void main(String[] args) {
        try {
            // 1. 创建配置对象
            Configuration conf = new Configuration();
            // 2. 添加配置参数
            conf.set("hbase.zookeeper.quorum","Centos8-1,Centos8-2,Centos8-3");
            // 3. 创建 hbase 的连接
            // 默认使用SyncConnetion同步连接
            Connection connection = ConnectionFactory.createConnection(conf);
            // 可以使用异步连接, 主要影响后续的 DML 操作 AsyncConnetion
            // CompletableFuture<AsyncConnection> asyncConnection = ConnectionFactory.createAsyncConnection(conf);
            // 4. 使用连接
            System.out.println(connection);
            // 5. 关闭连接
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
